#pragma once

#include "molecular_atom.h"
#include "poke_dialog_helper.h"
#include "poke_framework.h"
#include "scoped_ptr.h"

// CPokeDlgProcInfo dialog

class CPokeDlgProcInfo : public CDialog, M::Atom
{
	DECLARE_DYNAMIC(CPokeDlgProcInfo)

public:
	CPokeDlgProcInfo(CWnd* pParent = NULL);   // standard constructor
	virtual ~CPokeDlgProcInfo();

// Dialog Data
	enum { IDD = IDD_DIALOG_PROC_INFO };

protected:
    DISABLE_DIALOG_DEFAULT_ACTION;
    virtual BOOL OnInitDialog();
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

    virtual M::String name() const { return PAN_DLG_PROC_INFO; }
    virtual bool OnEvent(const M::AtomEndPoint &oSrcAtom, int nEventId, void *pParams);

	DECLARE_MESSAGE_MAP()

protected:
    void RetrieveInfo();

private:
    ScopedIcon m_hIcon;
    CString m_strProcDesc;
    CString m_strProcCompany;
    CString m_strProcVersion;
    CString m_strProcStartTime;
    CString m_strProcTime;
    CString m_strCurProc;
    CString m_strParentProc;
    CString m_strProcUser;
    CString m_strImagePath;
    CString m_strProcCmdLine;
    CString m_strProcWorkDir;
    CString m_strDepStatus;

public:
    afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
};
